3.Source
ol/ol/Source
文件夹下
3.1构造函数
3.1.1 ol.source.Source
ol.source的基础类
ol/ol/Source/source.js
1 | ol.source.Source = function(options) {} |
3.1.2 ol.source.OSM
ol/ol/Source/osmsource.js
openStreetMap
:
1 | ol.source.OSM = function(opt_options) {} |
具体不进行展开描述。
运用实例:
1 | var osmSource = new ol.source.OSM(); |
3.1.3 ol.source.TileWMS
先看个例子:
1 | var map = new ol.Map({ |
我们可以一路找下源头:tilewmssource.js
–>tileimagessource.js
–>uritilesource.js
–>tilespurce.js
–>source.js
我们可以发现实例中的source.url
是在uritilesource.js
处理的
我们先考虑单url的情况(当然存在url数组的情况)
1 | if (options.url) { |
处理函数为fixedTileUrlFunction
,在tilewmssource.js
fixedTileUrlFunction
–>getRequestUrl_
–>ol.uri.appendParams(url, params)
请求地图
params包含请求地图的宽、高、分辨率、地图范围
4.Layer
ol/ol/Layer
文件夹下
4.1构造函数
4.1.1 ol/ol/Layer/layer.js
1 | ol.layer.Layer = function(options) {} |
1 | ol.inherits(ol.layer.Layer, ol.layer.Base); |
ol.layer.Base
定义layer的基本属性和基本属性的setter,getter方法
实际在api接口上使用的是具体的图层
4.1.2 矢量地图ol/ol/Layer/vectorlayer.js
1 | ol.layer.Vector = function(opt_options) { |
实际调用的方法,仍然在ol/ol/Layer/layer.js
中
4.1.3 瓦块地图ol/ol/Layer/titlelayer.js
1 | ol.layer.Tile = function(opt_options) { |
还有heatmaplayer.js
,imagelayer.js
,vectortilelayer.js
对应热力图,图片地图,矢量瓦块地图
总结:ol/ol/Layer/layer.js
是通用的方法部分
各个具体的地图*.js是各个地图的专有方法。
运用实例:
1 | var map = new ol.Map({ |
source
在layer.js中处理
1 | var source = options.source ? options.source : null; |
4.2方法 事件
4.2.1 ol/ol/Layer/layer.js
主要是一下方法1
2
3
4
5
6
7
8
9ol.layer.Layer.visibleAtResolution
getLayersArray
getLayerStatesArray
getSource
getSourceState
handleSourceChange_
handleSourcePropertyChange_
setMap
setSource